REPEAT-Anweisung in ST

Syntax
REPEAT
  ...
UNTIL ...
END_REPEAT;
Bedeutung

Mit der REPEAT-Anweisung bestimmen Sie, dass eine Gruppe von Anweisungen (nach REPEAT bis zu UNTIL eingegeben) wiederholt ausgeführt wird (zumindest einmal), bis der damit verknüpfte Boolesche →Ausdruck (nach UNTIL eingegeben) mit Wert TRUE (oder einer Entsprechung) ausgewertet wird. Wird die Bedingung bereits zu Anfang mit Wert FALSE (oder einer Entsprechung) ausgewertet, dann wird die Gruppe von Anweisungen genau einmal ausgeführt.

Beispiel
FUNCTION_BLOCK ExampleRepeatDocumentation
  VAR
    count, sum, I : INT;
  END_VAR
  
  count := 1;
  sum := 0;
  REPEAT
    sum := ADD(sum, count);
    count := ADD(count, 1);
  UNTIL GT(count, 10)
END_REPEAT;                (* The variable 'sum' equals '45'. *)
END_FUNCTION_BLOCK

Keine Erkennung von Endlosschleifen

Endlosschleifen werden von Neuron Power Engineer nicht erkannt und verhindert. Geben Sie deshalb Code in Ihrer Anwendung (z.B. Abbruchbedingungen mit Hilfe von IF-Anweisungen) ein, mit denen Endlosschleifen verhindert werden.